# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Pierre-Gilas MILLON <pgmillon@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libgit2
pkgver=1.0.1
pkgrel=0
pkgdesc="A linkable library for Git"
url="https://libgit2.org/"
arch="all"
license="GPL-2.0-only WITH GCC-exception-2.0"
depends_dev="curl-dev libssh2-dev http-parser-dev"
makedepends="$depends_dev python3 cmake zlib-dev openssl-dev"
subpackages="$pkgname-static $pkgname-dev $pkgname-tests::noarch"
source="$pkgname-$pkgver.tar.gz::https://github.com/libgit2/libgit2/archive/v$pkgver.tar.gz
	"

# secfixes:
#   0.28.4-r0:
#     - CVE-2019-1348
#     - CVE-2019-1349
#     - CVE-2019-1350
#     - CVE-2019-1351
#     - CVE-2019-1352
#     - CVE-2019-1353
#     - CVE-2019-1354
#     - CVE-2019-1387
#   0.27.4-r0:
#     - CVE-2018-15501
#   0.27.3-r0:
#     - CVE-2018-10887
#     - CVE-2018-10888
#   0.25.1-r0:
#     - CVE-2016-10128
#     - CVE-2016-10129
#     - CVE-2016-10130
#   0.24.3-r0:
#     - CVE-2016-8568
#     - CVE-2016-8569

prepare() {
	default_prepare
	mkdir -p "$builddir"/build
	sed -i 's|/usr/bin/env python|/usr/bin/env python3|' tests/generate.py
}

build() {
	cd "$builddir"/build

	cmake .. \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_C_FLAGS="$CFLAGS"
	make

	# Build static library
	mkdir -p "$builddir"/build-static
	cd "$builddir"/build-static

	cmake .. \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_C_FLAGS="$CFLAGS" \
		-DBUILD_SHARED_LIBS=OFF
	make
}

check() {
	cd "$builddir"/build
	# Test 'offline' fails on s390x, aarch64 and ppc64le
	ctest -E offline
}

package() {
	make -C build DESTDIR="$pkgdir" install
	make -C build-static DESTDIR="$pkgdir" install
}

tests() {
	pkgdesc="$pkgdesc (tests)"

	mkdir -p "$subpkgdir"/usr/src/$pkgname/
	cp -a "$builddir"/tests "$subpkgdir"/usr/src/$pkgname/
}

sha512sums="7c307822b22e3771e5e908b115600310f7901b3250287532c498003b25a5b1e007bfa23592f16ec4d83c1567a9213710526f78cab7c120316e9a8fc74c5e57a9  libgit2-1.0.1.tar.gz"
